package com.fgs.common.widget;

import android.content.Context;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;

import androidx.annotation.NonNull;

import com.fgs.common.CommonDialog;
import com.fgs.common.R;
import com.fgs.common.interf.OnDialogClickListener;
import com.fgs.common.manager.ActivityManager;
import com.fgs.common.manager.CommonSharedPreferenceManager;
import com.fgs.common.webViewInter.OpenWeb;
import com.fgs.common.webViewInter.PrivacyPolicyWebInfo;




/**
 * @author fgs
 * @date 2020/4/9
 * @description
 **/
public class AgreementDialog extends CommonDialog {
    private Button agreeButton;
    private TextView unAgreeTextView;
    private TextView agreementContentTextView;
    private final OnDialogClickListener onDialogClickListener;

    public AgreementDialog(@NonNull Context context, OnDialogClickListener onDialogClickListener) {
        super(context, R.style.style_select_dialog);
        this.onDialogClickListener = onDialogClickListener;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_agreement);
        setCancelable(false);
        setCanceledOnTouchOutside(false);
        agreeButton = findViewById(R.id.dialog_agreement_agreeButton);
        unAgreeTextView = findViewById(R.id.dialog_agreement_unAgreeTextView);
        agreementContentTextView = findViewById(R.id.dialog_agreement_agreementContentTextView);

        showAgreementContent();

        agreeButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                CommonSharedPreferenceManager.getInstance().setAgreement(true);
                dismiss();
                if (onDialogClickListener != null)
                    onDialogClickListener.onPositiveClick();
            }
        });

        unAgreeTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ActivityManager.getInstance().finishAllActivity();
                CommonSharedPreferenceManager.getInstance().setAgreement(false);
                dismiss();
                if (onDialogClickListener != null)
                    onDialogClickListener.onNegativeClick(false);
            }
        });
    }


    private void showAgreementContent() {
        //        感谢您使用司机端app！\n为了更好地保障您的个人权益，请认真阅读《用户协议》和《隐私政策》的全部内容，同意并接受全部条款后开始使用我们的产品和服务。\n若不选择同意，将无法使用我们的产品和服务，并退出应用。
        String contentStart = "在使用皓俊通网络货运服务系统提供的产品和服务前，请您务必充分阅读和理解皓俊通网络货运服务系统的";
        String contentEnd = "各条款，包括但不限于：\n 1.存储权限，用于必要的信息存储包括地图、运行日志、图片等；\n 2.电话权限：用于订单过程中联系客户和致电客服；\n 3.位置权限：用于基于定位的定单推送；\n 4.相机权限：用于拍摄货物照片、回单、注册过程中上传证件；\n 5.消息通知权限：用于推送订单通知、福利活动等消息；\n 您可以查询、更正、删除您的信息，我们也提供账户注销的渠道。在您同意APP隐私政策后，我们将进行集成SDK的初始化动作，会收集您的mac地址、IMEI、IMSI和应用安装列表，以保证APP正常数据统计和安全风控。隐私政策请按路径“我的-法律公告-隐私协议”\n 点击同意表示您已经理解并接收隐私政策，但不会直接为您开启上述权限，我们将在您使用相关功能前，另行征求您的同意后再开启。您也可以在手机系统中的设置中管理各项授权。";

//        SpannableString userAgreementClickString = new SpannableString("《用户协议》");
        SpannableString privacyPolicyClickString = new SpannableString("《隐私政策》");


//        userAgreementClickString.setSpan(new ClickableSpan() {
//            @Override
//            public void onClick(@NonNull View widget) {
//                OpenWeb openWeb = new OpenWeb();
//                openWeb.openWebView(getContext(), new UserAgreementWebInfo());
//
//            }
//
//            @Override
//            public void updateDrawState(@NonNull TextPaint ds) {
//                super.updateDrawState(ds);
//                ds.setColor(getContext().getResources().getColor(R.color.colorBluePrimary)); //设置颜色
//                //去掉下划线，默认是带下划线的
////                ds.setUnderlineText(false);
//                //设置字体背景
////				ds.bgColor = Color.parseColor("#FF0000");
//            }
//        }, 0, userAgreementClickString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);


        privacyPolicyClickString.setSpan(new ClickableSpan() {
            @Override
            public void onClick(@NonNull View widget) {

                OpenWeb openWeb = new OpenWeb();
                openWeb.openWebView(getContext(), new PrivacyPolicyWebInfo());

            }

            @Override
            public void updateDrawState(@NonNull TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(getContext().getResources().getColor(R.color.colorBluePrimary)); //设置颜色
                //去掉下划线，默认是带下划线的
//                ds.setUnderlineText(false);
                //设置字体背景
//				ds.bgColor = Color.parseColor("#FF0000");
            }
        }, 0, privacyPolicyClickString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        agreementContentTextView.append(contentStart);
//        agreementContentTextView.append(userAgreementClickString);
//        agreementContentTextView.append("和");
        agreementContentTextView.append(privacyPolicyClickString);
        agreementContentTextView.append(contentEnd);
        agreementContentTextView.setMovementMethod(LinkMovementMethod.getInstance());
    }

}
